Multi-interface hosts, sometimes referred to as multi-homed devices, have two or more network interfaces, such as two Gigabit Ethernet interfaces. In contrast to unicast transmissions where a sending host and/or routing infrastructure address the unicast transmission to one of the receiving host's network interfaces, in multicast transmissions applications running on the receiving host select which interface “joins” the multicast group and receives the data stream. Specifically, an application running on the receiving host sends a multicast membership join request, using a protocol such as Internet Group Management Protocol (IGMP) described in Request For Comment (RFC) 3376, to cause the corresponding multicast streams to be received on one of the receiving host's network interfaces of the application's selection.
If the interface selected by the application does not have sufficient link bandwidth available for the new stream, packets will be dropped from the new stream and/or existing streams received on the selected interface. Also, since the application does not observe whether other applications are already receiving the data stream on one of the other interfaces, the multi-interface host may end up wasting bandwidth by causing an interface to join a stream already being received on another interface. The application may also select a network interface that has failed, sometimes causing the application to become inoperable. The disclosure that follows solves this and other problems.